package dmmm.shemes;

import java.awt.Point;
import java.util.ArrayList;

import dmmm.components.*;
import dmmm.gui.*;

public class Oper1 {

    private static DC DC1, DC2, DC3, DC4, DC5, DC6;
    private static GuiScheme gui;

    public static GuiScheme getGui() {
        return gui;
    }

    public static void init() {
        DC1 = new DC(5);
        DC2 = new DC(4);
        DC3 = new DC(4);
        DC4 = new DC(4);
        DC5 = new DC(3);
        DC6 = new DC(3);

    }

    public static void connect() {
        DC1.setE(new Pin(true));
        DC1.setInputPin(0, Counter.mCW31());
        DC1.setInputPin(1, Counter.mCW32());
        DC1.setInputPin(2, Counter.mCW33());
        DC1.setInputPin(3, Counter.mCW34());
        DC1.setInputPin(4, Counter.mCW35());

        DC2.setE(new Pin(true));
        DC2.setInputPin(0, Counter.mCW27());
        DC2.setInputPin(1, Counter.mCW28());
        DC2.setInputPin(2, Counter.mCW29());
        DC2.setInputPin(3, Counter.mCW30());

        DC3.setE(new Pin(true));
        DC3.setInputPin(0, Counter.mCW23());
        DC3.setInputPin(1, Counter.mCW24());
        DC3.setInputPin(2, Counter.mCW25());
        DC3.setInputPin(3, Counter.mCW26());

        DC4.setE(new Pin(true));
        DC4.setInputPin(0, Counter.mCW19());
        DC4.setInputPin(1, Counter.mCW20());
        DC4.setInputPin(2, Counter.mCW21());
        DC4.setInputPin(3, Counter.mCW22());

        DC5.setE(new Pin(true));
        DC5.setInputPin(0, Counter.mCW16());
        DC5.setInputPin(1, Counter.mCW17());
        DC5.setInputPin(2, Counter.mCW18());

        DC6.setE(new Pin(true));
        DC6.setInputPin(0, Counter.mCW13());
        DC6.setInputPin(1, Counter.mCW14());
        DC6.setInputPin(2, Counter.mCW15());


    }

    public static void gui() {
        GuiLine line; // Pomocna promenljiva
        gui = new GuiScheme("dmmm/dmmm/images/Oper1.png");

        ArrayList<ArrayList<Point>> sections;
        ArrayList<Point> points;


        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(61, 227));
        points.add(new Point(76, 227));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW35());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(61, 242));
        points.add(new Point(76, 242));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW34());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(61, 257));
        points.add(new Point(76, 257));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW33());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(61, 272));
        points.add(new Point(76, 272));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW32());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(61, 287));
        points.add(new Point(76, 287));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW31());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(123, 518));
        points.add(new Point(123, 507));
        sections.add(points);
        line = new GuiLine(sections, new Pin(true));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 491));
        points.add(new Point(188, 491));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(0));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 476));
        points.add(new Point(188, 476));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(1));
        gui.addLine(line);


        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 461));
        points.add(new Point(188, 461));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(2));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 446));
        points.add(new Point(188, 446));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(3));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 431));
        points.add(new Point(188, 431));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(4));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 416));
        points.add(new Point(188, 416));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(5));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 401));
        points.add(new Point(188, 401));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(6));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 386));
        points.add(new Point(188, 386));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(7));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 372));
        points.add(new Point(188, 372));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(8));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 357));
        points.add(new Point(188, 357));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(9));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 342));
        points.add(new Point(188, 342));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(10));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 327));
        points.add(new Point(188, 327));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(11));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 312));
        points.add(new Point(188, 312));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(12));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 297));
        points.add(new Point(188, 297));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(13));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 282));
        points.add(new Point(188, 282));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(14));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 267));
        points.add(new Point(188, 267));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(15));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 250));
        points.add(new Point(188, 250));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(16));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 234));
        points.add(new Point(188, 234));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(17));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 219));
        points.add(new Point(188, 219));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(18));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 204));
        points.add(new Point(188, 204));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(19));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 189));
        points.add(new Point(188, 189));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(20));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 174));
        points.add(new Point(188, 174));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(21));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 159));
        points.add(new Point(188, 159));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(22));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 144));
        points.add(new Point(188, 144));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(23));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 131));
        points.add(new Point(189, 131));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(24));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 115));
        points.add(new Point(189, 115));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(25));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 100));
        points.add(new Point(189, 100));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(26));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 85));
        points.add(new Point(189, 85));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(27));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 70));
        points.add(new Point(189, 70));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(28));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 55));
        points.add(new Point(189, 55));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(29));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 40));
        points.add(new Point(189, 40));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(20));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(170, 25));
        points.add(new Point(189, 25));
        sections.add(points);
        line = new GuiLine(sections, DC1.getOut(31));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 128));
        points.add(new Point(367, 128));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW30());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 143));
        points.add(new Point(367, 143));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW29());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 158));
        points.add(new Point(367, 158));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW28());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 173));
        points.add(new Point(367, 173));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW27());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(415, 288));
        points.add(new Point(415, 277));
        sections.add(points);
        line = new GuiLine(sections, new Pin(true));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 262));
        points.add(new Point(483, 262));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(0));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 247));
        points.add(new Point(483, 247));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(1));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 232));
        points.add(new Point(483, 232));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(2));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 217));
        points.add(new Point(483, 217));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(3));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 201));
        points.add(new Point(483, 201));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(4));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 186));
        points.add(new Point(483, 186));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(5));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 171));
        points.add(new Point(483, 171));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(6));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 156));
        points.add(new Point(483, 156));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(7));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 143));
        points.add(new Point(484, 143));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(8));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 128));
        points.add(new Point(484, 128));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(9));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 113));
        points.add(new Point(484, 113));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(10));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 97));
        points.add(new Point(484, 97));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(11));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 82));
        points.add(new Point(484, 82));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(12));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 67));
        points.add(new Point(484, 67));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(13));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 52));
        points.add(new Point(484, 52));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(14));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 37));
        points.add(new Point(484, 37));
        sections.add(points);
        line = new GuiLine(sections, DC2.getOut(15));
        gui.addLine(line);


        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 414));
        points.add(new Point(368, 414));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW26());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 429));
        points.add(new Point(368, 429));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW25());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 444));
        points.add(new Point(368, 444));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW24());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 459));
        points.add(new Point(368, 459));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW23());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(415, 563));
        points.add(new Point(415, 575));
        sections.add(points);
        line = new GuiLine(sections, new Pin(true));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 548));
        points.add(new Point(483, 548));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(0));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 533));
        points.add(new Point(483, 533));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(1));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 518));
        points.add(new Point(483, 518));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(2));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 503));
        points.add(new Point(483, 503));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(3));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 488));
        points.add(new Point(483, 488));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(4));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 473));
        points.add(new Point(483, 473));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(5));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 457));
        points.add(new Point(483, 457));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(6));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 442));
        points.add(new Point(483, 442));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(7));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 429));
        points.add(new Point(484, 429));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(8));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 414));
        points.add(new Point(484, 414));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(9));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 399));
        points.add(new Point(484, 399));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(10));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 384));
        points.add(new Point(484, 384));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(11));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 369));
        points.add(new Point(484, 369));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(12));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 354));
        points.add(new Point(484, 354));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(13));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 338));
        points.add(new Point(484, 338));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(14));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 323));
        points.add(new Point(484, 323));
        sections.add(points);
        line = new GuiLine(sections, DC3.getOut(15));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(61, 705));
        points.add(new Point(77, 705));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW22());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(61, 720));
        points.add(new Point(77, 720));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW21());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(61, 735));
        points.add(new Point(77, 735));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW20());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(61, 750));
        points.add(new Point(77, 750));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW19());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(124, 854));
        points.add(new Point(124, 866));
        sections.add(points);
        line = new GuiLine(sections, new Pin(true));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 839));
        points.add(new Point(188, 839));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(0));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 824));
        points.add(new Point(188, 824));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(1));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 809));
        points.add(new Point(188, 809));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(2));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 794));
        points.add(new Point(188, 794));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(3));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 779));
        points.add(new Point(188, 779));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(4));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 764));
        points.add(new Point(188, 764));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(5));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 748));
        points.add(new Point(188, 748));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(6));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 733));
        points.add(new Point(188, 733));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(7));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 720));
        points.add(new Point(189, 720));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(8));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 705));
        points.add(new Point(189, 705));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(9));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 690));
        points.add(new Point(189, 690));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(10));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 675));
        points.add(new Point(189, 675));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(11));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 660));
        points.add(new Point(189, 660));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(12));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 645));
        points.add(new Point(189, 645));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(13));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 629));
        points.add(new Point(189, 629));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(14));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(171, 614));
        points.add(new Point(189, 614));
        sections.add(points);
        line = new GuiLine(sections, DC4.getOut(15));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 649));
        points.add(new Point(367, 649));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW18());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 664));
        points.add(new Point(367, 664));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW17());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 679));
        points.add(new Point(367, 679));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW16());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(415, 730));
        points.add(new Point(415, 741));
        sections.add(points);
        line = new GuiLine(sections, new Pin(true));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 714));
        points.add(new Point(484, 714));
        sections.add(points);
        line = new GuiLine(sections, DC5.getOut(0));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 699));
        points.add(new Point(484, 699));
        sections.add(points);
        line = new GuiLine(sections, DC5.getOut(1));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 684));
        points.add(new Point(484, 684));
        sections.add(points);
        line = new GuiLine(sections, DC5.getOut(2));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 669));
        points.add(new Point(484, 669));
        sections.add(points);
        line = new GuiLine(sections, DC5.getOut(3));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 654));
        points.add(new Point(484, 654));
        sections.add(points);
        line = new GuiLine(sections, DC5.getOut(4));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 639));
        points.add(new Point(484, 639));
        sections.add(points);
        line = new GuiLine(sections, DC5.getOut(5));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 624));
        points.add(new Point(484, 624));
        sections.add(points);
        line = new GuiLine(sections, DC5.getOut(6));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 609));
        points.add(new Point(484, 609));
        sections.add(points);
        line = new GuiLine(sections, DC5.getOut(7));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 811));
        points.add(new Point(367, 811));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW15());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 826));
        points.add(new Point(367, 826));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW14());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(348, 841));
        points.add(new Point(367, 841));
        sections.add(points);
        line = new GuiLine(sections, Counter.mCW13());
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(415, 892));
        points.add(new Point(415, 903));
        sections.add(points);
        line = new GuiLine(sections, new Pin(true));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 877));
        points.add(new Point(484, 877));
        sections.add(points);
        line = new GuiLine(sections, DC6.getOut(0));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 862));
        points.add(new Point(484, 862));
        sections.add(points);
        line = new GuiLine(sections, DC6.getOut(1));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 847));
        points.add(new Point(484, 847));
        sections.add(points);
        line = new GuiLine(sections, DC6.getOut(2));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 832));
        points.add(new Point(484, 832));
        sections.add(points);
        line = new GuiLine(sections, DC6.getOut(3));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 816));
        points.add(new Point(484, 816));
        sections.add(points);
        line = new GuiLine(sections, DC6.getOut(4));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 801));
        points.add(new Point(484, 801));
        sections.add(points);
        line = new GuiLine(sections, DC6.getOut(5));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 786));
        points.add(new Point(484, 786));
        sections.add(points);
        line = new GuiLine(sections, DC6.getOut(6));
        gui.addLine(line);

        sections = new ArrayList<ArrayList<Point>>();
        points = new ArrayList<Point>();
        points.add(new Point(462, 771));
        points.add(new Point(484, 771));
        sections.add(points);
        line = new GuiLine(sections, DC6.getOut(7));
        gui.addLine(line);


    }

    public static Pin PCout2() {
        return DC1.getOut(1);
    }

    public static Pin PCHout2() {
        return DC1.getOut(2);
    }

    public static Pin PSWLout2() {
        return DC1.getOut(3);
    }

    public static Pin PSWHout2() {
        return DC1.getOut(4);
    }

    public static Pin GPRout2() {
        return DC1.getOut(5);
    }

    public static Pin MDRout2() {
        return DC1.getOut(6);
    }

    public static Pin IRPOMout1() {
        return DC1.getOut(7);
    }

    public static Pin IRJAout1() {
        return DC1.getOut(8);
    }

    public static Pin IRDAout1() {
        return DC1.getOut(9);
    }

    public static Pin IRBRout1() {
        return DC1.getOut(10);
    }

    public static Pin DWout1() {
        return DC1.getOut(11);
    }

    public static Pin ABout2() {
        return DC1.getOut(12);
    }

    public static Pin AWout2() {
        return DC1.getOut(13);
    }

    public static Pin AWHout2() {
        return DC1.getOut(14);
    }

    public static Pin BWout1() {
        return DC1.getOut(15);
    }

    public static Pin ALUout1() {
        return DC1.getOut(16);
    }

    public static Pin IMRout1() {
        return DC1.getOut(17);
    }

    public static Pin IVTPout1() {
        return DC1.getOut(18);
    }

    public static Pin IVTDSPout2() {
        return DC1.getOut(19);
    }

    public static Pin UINTout1() {
        return DC1.getOut(20);
    }

    public static Pin UEXTout1() {
        return DC1.getOut(21);
    }

    public static Pin rdCPU() {
        return DC1.getOut(22);
    }

    public static Pin wrCPU() {
        return DC1.getOut(23);
    }

    public static Pin stPRADR() {
        return DC1.getOut(24);
    }

    public static Pin stPRCOD() {
        return DC1.getOut(25);
    }

    public static Pin clSTART() {
        return DC1.getOut(26);
    }

    public static Pin stPSWT() {
        return DC1.getOut(27);
    }

    public static Pin ldZ() {
        return DC1.getOut(28);
    }

    public static Pin ldMAR() {
        return DC2.getOut(1);
    }

    public static Pin ldIR0() {
        return DC2.getOut(2);
    }

    public static Pin ldIR1() {
        return DC2.getOut(3);
    }

    public static Pin ldIR2() {
        return DC2.getOut(4);
    }

    public static Pin ldIR3() {
        return DC2.getOut(5);
    }

    public static Pin ldDWH() {
        return DC2.getOut(6);
    }

    public static Pin ldAB() {
        return DC2.getOut(7);
    }

    public static Pin ldBB() {
        return DC2.getOut(8);
    }

    public static Pin ldAW() {
        return DC2.getOut(9);
    }

    public static Pin ldBW() {
        return DC2.getOut(10);
    }

    public static Pin ldCW() {
        return DC2.getOut(11);
    }

    public static Pin ldPC() {
        return DC2.getOut(12);
    }

    public static Pin ldPSWH() {
        return DC2.getOut(13);
    }

    public static Pin ldSP() {
        return DC2.getOut(14);
    }

    public static Pin ldN() {
        return DC2.getOut(15);
    }

    public static Pin ldGPRAR() {
        return DC3.getOut(1);
    }

    public static Pin SPout1() {
        return DC3.getOut(2);
    }

    public static Pin ADDout1() {
        return DC3.getOut(3);
    }

    public static Pin ldC() {
        return DC3.getOut(4);
    }

    public static Pin eMDR() {
        return DC3.getOut(5);
    }

    public static Pin stPSWI() {
        return DC3.getOut(6);
    }

    public static Pin clPSWI() {
        return DC3.getOut(7);
    }

    public static Pin stPRINS() {
        return DC3.getOut(8);
    }

    public static Pin clPRINS() {
        return DC3.getOut(9);
    }

    public static Pin clPRCOD() {
        return DC3.getOut(10);
    }

    public static Pin clPRADR() {
        return DC3.getOut(11);
    }

    public static Pin clPRINM() {
        return DC3.getOut(12);
    }

    public static Pin clINTR() {
        return DC3.getOut(13);
    }

    public static Pin MOST2_1() {
        return DC3.getOut(14);
    }

    public static Pin MOST1_2() {
        return DC3.getOut(15);
    }

    public static Pin ldMDR() {
        return DC4.getOut(1);
    }

    public static Pin ldDWL() {
        return DC4.getOut(2);
    }

    public static Pin ldPSWL() {
        return DC4.getOut(3);
    }

    public static Pin ldL() {
        return DC4.getOut(4);
    }

    public static Pin eMAR() {
        return DC4.getOut(5);
    }

    public static Pin add() {
        return DC4.getOut(6);
    }

    public static Pin sub() {
        return DC4.getOut(7);
    }

    public static Pin inc() {
        return DC4.getOut(8);
    }

    public static Pin dec() {
        return DC4.getOut(9);
    }

    public static Pin and() {
        return DC4.getOut(10);
    }

    public static Pin or() {
        return DC4.getOut(11);
    }

    public static Pin xor() {
        return DC4.getOut(12);
    }

    public static Pin not() {
        return DC4.getOut(13);
    }

    public static Pin shr() {
        return DC4.getOut(14);
    }

    public static Pin shl() {
        return DC4.getOut(15);
    }

    public static Pin incPC() {
        return DC5.getOut(1);
    }

    public static Pin incSP() {
        return DC5.getOut(2);
    }

    public static Pin decSP() {
        return DC5.getOut(3);
    }

    public static Pin incMAR() {
        return DC5.getOut(4);
    }

    public static Pin incGPRAR() {
        return DC5.getOut(5);
    }

    public static Pin ldV() {
        return DC5.getOut(6);
    }

    public static Pin clPSWT() {
        return DC5.getOut(7);
    }

    public static Pin BBout2() {
        return DC6.getOut(1);
    }

    public static Pin wrGPR() {
        return DC6.getOut(2);
    }

    public static Pin ldIVTP() {
        return DC6.getOut(3);
    }

    public static Pin ldIMR() {
        return DC6.getOut(4);
    }

    public static Pin ldBR() {
        return DC6.getOut(5);
    }

    public static Pin mxMDR() {
        return DC6.getOut(6);
    }
}
